--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
docs/en/nomad-network.md dev (c9f60cc5) Text, 3.56 KB
Tc9d1d9# Nomad Network and Mesh Server
Nomad Network is a distributed page and file system on top of Reticulum. MeshChatX includes a browser for remote nodes and a **Mesh Server** tool for hosting your own pages.
Tc9d1d9## Nomad browser
Open **Nomad Network** and enter a node destination hash. MeshChatX fetches the default entry page (usually Ta5d6ff`/page/index.mu`) over Reticulum link requests.
Supported page types:
| Extension | Format |
| --------- | ------------------------------------ |
| Ta5d6ff`.mu` | Micron markup (NomadNet default) |
| Ta5d6ff`.md` | Markdown with GFM-oriented rendering |
| Ta5d6ff`.txt` | Plain text with preserved whitespace |
| Ta5d6ff`.html` | Static HTML with sanitised CSS |
Follow links inside pages to browse further paths on the same node. Download files offered at Ta5d6ff`/file/*` paths.
Rendering uses Ta5d6ff`NomadPageRenderer.js` with DOMPurify sanitization. Micron can use a JavaScript parser or optional Go WASM when Ta5d6ff`nomad_micron_wasm_enabled` is set.
Tc9d1d9## Favourites and caching
Save frequent nodes as favourites. Link caching (Ta5d6ff`nomadnet_cached_links`) speeds up repeat visits on slow links.
Tc9d1d9## Archives
When **page archiver** is enabled, MeshChatX stores versioned snapshots of pages you visit. Open **Archives** to browse historical copies. An optional crawler can archive automatically.
Archived pages use the same renderer as the live browser based on the stored Ta5d6ff`page_path` extension.
Tc9d1d9## Mesh Server (page nodes)
**Tools → Mesh Server** lets you run a Ta5d6ff`nomadnetwork.node` destination locally.
Typical workflow:
Tff7b721. Create a page node in the UI.
Tff7b722. Upload Ta5d6ff`.mu`, Ta5d6ff`.md`, Ta5d6ff`.txt`, or Ta5d6ff`.html` pages and optional files.
Tff7b723. Start the node and announce it on the mesh.
Tff7b724. Share your destination hash so others can open Ta5d6ff`/page/index.mu` on your node.
Tc9d1d9### Executable (dynamic) pages
You can opt in per node to **executable pages**. When enabled:
Tff7b72- Non-executable pages are served as static files.
Tff7b72- Pages marked executable in the Mesh Server editor run as scripts. On Linux and macOS, Ta5d6ff`chmod +x` on the page file also marks it.
Tff7b72- The first line must be a shebang such as Ta5d6ff`#!/usr/bin/env python3`. Windows does not exec scripts by shebang, so Mesh Server resolves that interpreter on PATH (Ta5d6ff`python`, Ta5d6ff`py`, Ta5d6ff`node`, and similar).
Tff7b72- Request Ta5d6ff`field_*` and Ta5d6ff`var_*` values are passed as environment variables.
Tff7b72- Ta5d6ff`link_id` and Ta5d6ff`remote_identity` are supplied when available.
Tff7b72- Script stdout is returned as the page body. Failures return a controlled error page.
Editing a page in Mesh Server always shows the file source, never the script output.
API endpoints under Ta5d6ff`/api/v1/page-nodes/` manage CRUD operations, start and stop, and file listings.
Pages are served at Ta5d6ff`/page/<name>` and files at Ta5d6ff`/file/<name>` on the node destination.
Tc9d1d9## Browsing flow
Ta5d6ff```
User enters destination hash
|
v
RNS link request to /page/index.mu (or chosen path)
|
v
Remote page node responds with content
|
v
NomadPageRenderer picks Micron, Markdown, text, or HTML pipeline
|
v
Sanitised HTML shown in Nomad Network view
```
Tc9d1d9## Authoring pages
Read **NomadNet page formats** for security rules, Markdown quirks, and API behaviour. The Mesh Server rejects disallowed extensions on upload.
Tc9d1d9## Micron editor
**Tools → Micron editor** helps author Ta5d6ff`.mu` pages before you upload them to your node.
Tc9d1d9## See also
Tff7b72- **NomadNet page formats** for detailed authoring reference
Tff7b72- **Tools and utilities** for the full tools list
Tff7b72- **Reticulum interfaces** if remote pages time out (likely a path issue)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────